package com.yu1996.dao;

import com.github.pagehelper.Page;
import com.yu1996.pojo.CheckGroup;

import java.util.List;
import java.util.Map;


/**
 * @Description: 检查组Dao接口
 * @author: xing
 * @Date: 2021/6/28 0:00
 */
public interface CheckGroupDao {

    /**
     * @Description 添加检查组
     * @Author xing
     * @Date 2021/6/27 23:08
     * @Param 检查组对象
     */
    public void add(CheckGroup checkGroup);


    /**
     * @Description 将检查组和检查项的映射保存到中间表中
     * @Author xing
     * @Date 2021/6/27 23:50
     * @Param 检查组的id和检查项的id数组
     */
    public void setCheckGroupAndCheckItem(Map map);


    /**
     * @Description 模糊分页查询检查组
     * @Author xing
     * @Date 2021/6/28 13:55
     * @Param 模糊查询条件
     * @Return 分页查询结果
     */
    public Page<CheckGroup> selectByCondition(String queryString);

    /**
     * @Description 根据id查询检查组
     * @Author xing
     * @Date 2021/6/28 14:17
     * @Param 检查组id
     * @Return 检查组对象
     */
    public CheckGroup findById(Integer id);


    /**
     * @Description 根据检查组id查询相关联的检查项ID集合
     * @Author xing
     * @Date 2021/6/28 14:39
     * @Param 检查组id
     * @Return 检查项的id集合
     */
    public List<Integer> findCheckItemIdsByCheckGroupId(Integer id);


    /**
     * @Description: 删除检查组中的所有检查项
     * @author: xing
     * @Date: 2021/6/28 14:50
     * @Param 检查组id
     */
    public void deleteAssociation(Integer id);


    /**
     * @Description 更新检查组数据
     * @Author xing
     * @Date 2021/6/28 14:43
     * @Param 检查组
     */
    public void edit(CheckGroup checkGroup);


    /**
     * @Description 删除检查组
     * @Author xing
     * @Date 2021/6/28 15:30
     * @Param 检查组id
     */
    public void delete(Integer id);

    /**
     * @Description 查询所有检查组
     * @Author xing
     * @Date 2021/6/28 14:17
     * @Return 所有检查组对象集合
     */
    public List<CheckGroup> findAll();
}
